//
// Created by edward on 23-5-19.
//
#include <iostream>
#include <unordered_set>
#include <vector>

using namespace std;

int main() {
    constexpr int kMax = 4;
    constexpr int kMax_2 = kMax / 2;
    vector<unordered_set<int>> vis(kMax);
    int cnt = 0;
    for (int i = 0; i < kMax; ++i) {
        std::cout << "[";
        bool first = true;
        for (int t = 1; t <= kMax_2; ++t) {
            int j = (i + t) % kMax;
            if (vis[i].count(j) == 0) {
                if (first) first = false;
                else cout << ", ";
                cout << j;
                ++cnt;
                vis[i].insert(j);
                vis[j].insert(i);
            }
        }
        std::cout << "],\n";
    }

//    cout << cnt << "\n";
    if (cnt != kMax * (kMax - 1) / 2) cout << "ERROR\n";
//    else cout << "ACCEPT";
    for (auto &st : vis) {
        if (st.size() != kMax - 1) {
            cout << "ERROR\n";
            break;
        }
    }
    cout << "ACCEPT\n";
    /*
    */

    return 0;
}